Program:     Alien Breed II
Version:     3.3
Author:      James Vernon <james@calc.org>
Description: Shoot-'em-up
Machine:     TI-83/TI-83+
Language:    Z80 Assembly Code
Platform:    Ion
Released:    September 2000
Size:        Program File 83 (required)   - 7827 bytes
             Program File 83+ (required)  - 7838 bytes
             Data File (optional)         - 5355 bytes (5358 on 83+)
             Uncompressed External Levels - 1634 bytes each (1637 on 83+)
             Compressed External Levels   - 400-600 bytes each



*********************
** Version History **
*********************

v1.0: (13229 bytes) - August 1999
- First version
- Not too many bugs
- Compatible with: AShell, SOS and the TI-OS

v1.1: (12870 bytes) - September 1999
- Guardians easier on "Easy" & "Medium" difficulty levels
- Now up to 5 bullets can be shot in a row!
- Fixed small bug on Level 7
- Code totally optimised!
- Updated code documentation

v1.2: (8799 bytes) - October 1999
- Saved lots of mem by reducing Mission Information
- Bullets don't go through the Power Domes anymore
- Use Huffman Compression to reduce Level Data to less than 3000 bytes!
- No longer compatible with Aurora, if you want an Aurora compatible version, just ask me
- Killed counter bug on AShell/SOS fixed
- Now compatible with Ion for the TI-83!
- "Aliens appearing in space for no apparent reason" bug seems to be fixed

v1.3: (8806 bytes) - October 1999
- Fixed bug wherein calc would be stuffed up if you got a MEMORY or UNDEFINED error in one of the shells
- Slowed down the counter for the destruction sequence a bit (it was getting too fast!)
- Changed it so that you start with 10 bullets instead of none
- Tried to explain parts of the source better
- Changed the high score display to: "High Score: 0 by AAA"

v1.4: (9251 bytes) - November 1999
- Bullet display bug finally fixed!!
- Changed it so [Enter] is used instead of [2nd] in most places
- Slowed down destruction sequence counter a bit more again
- Bullets move fast regardless of difficulty level (now you can't run past your bullets!)
- Source code documented more
- Only 30 aliens can be controlled by the AI at once now
- Can adjust contrast in Pause menu by pressing [+] and [-]!
- No longer Ion compatible for the 83 OR 83+ due to there being too many problems to overcome with too little time to sort them out.. sorry 83+ owners!

v2.0: (13509 bytes) - April 2000
- New main menu
- Supports external levels
- More graphics
- In-game animations
- Two types of aliens
- Intex Network System - buy guns, ammo, key packs, view a map of the level, etc.
- Three Different guns, each with differing strengths
- 11 levels
- More weapons
- Level editor
- Now compatible only with SOS to enable users to have more external levels on their calc at once

v3.0: (13454 bytes) - April 2000
- Now a TCPA program ('cos I joined the TCPA)
- You can no longer buy a gun you already own from an Intex Console
- You can no longer buy a Radar Scanner if you already own one
- Optimised a lot more
- You can view the mission objectives in the middle of a level
- Press any key to skip intro
- Added a few more things to some of the levels
- Now for ION83/83+ and not SOS
- External levels from v2.0 can't be used with this version
- Removed Teacher Key
- Removed Contrast changing stuff from Pause menu

v3.1: (13209 bytes) - May 2000
- Put Contrast changing stuff back in
- Put Teacher Key back in
- Fixed a bug with displaying time greater than 99 during destruction sequence
- Slowed game down a bit on the TI-83 (was starting to get too fast!)
- Optimised so much that's it's smaller than v3.0 even with the new features!
- Included Source Code in zip file again
- Included an example external level (compressed & uncompressed versions of it!)
- Fixed a bug wherein you could buy a Radar Scanner, Twin Missile Launcher or Plasma Rifle even if you didn't have enough credits
- Fixed a bug that could've created a program with not enough free memory on the 83+ (although it was unlikely)
- Made a program that you can use to compress your own levels!
- Compiled using Devpac8x (thanks Scott Dial!)
- Can't run external levels from Flash in this version (83+ only)
- Changed Destroyed Power Dome sprite
- Added backspace function when entering a passcode or initials for new high score

v3.2: (13175 bytes) - June 2000
- Fixed a bug with the Contrast setting on the TI-83+. Thanks to Jonathon Chase for reporting this!
- Decompression Utility so that you can decompress compressed levels!
- Changed the intro to optimise program size a bit more!
- Fixed a bug with the backspace routine whilst entering your initials!
- Added a Level Renaming Utility so you can rename levels after they have been created
- Added APD to "Paused" screen and a few other places
- Map/Mission Info no longer disappear instantly when viewed during gameplay
- Changed the names of some of the levels so that all levels now have the proper name (same as what they had in the original game)

v3.3: (13182 bytes) - September 2000
- Very last release!!
- Now includes source to level utilities as well
- Level Editor optimised a little more


**************
** Features **
**************
- Ion Program for both the TI-83 and TI-83+
- 3 Difficulty Levels
- 11 Levels
- Artificial Intelligence
- Queen Aliens
- Level Editor plus a level compression utility!
- Includes Source Code to everything :)
- Other External Level Utilities


********************
** Included Files **
********************
\ab2.83g                             TI-83 Program & Data File
\ab2.8xg                             TI-83+ Program & Data File
\readme.txt                          This Readme File

\editor\ab2edit.83p                  TI-83 Level Editor
\editor\ab2edit.8xp                  TI-83+ Level Editor
\editor\editor.txt                   Level Editor Readme File

\editor\compress\compress.bat        ABII Level Compression Utility
\editor\compress\lvltobin.exe        Converts ABII Levels to BIN format
\editor\compress\huffman.exe         Compresses the BIN file
\editor\compress\setcmp.exe          Formats the BIN file
\editor\compress\devpac83.com        Converts BIN file back to 83p file
\editor\compress\devpac8x.com        Converts BIN file back to 8xp file
\editor\compress\compress.txt        Compression Utility Readme

\editor\utils\ab2decmp.83p           TI-83 Level Decompression Utility
\editor\utils\ab2decmp.8xp           TI-83+ Level Decompression Utility
\editor\utils\ab2name.83p            TI-83 Level Rename Utility
\editor\utils\ab2name.8xp            TI-83+ Level Rename Utility
\editor\utils\utils.txt              Decompression Utility Readme

\levels\zab2ljim.83p                 TI-83 Example External Level
\levels\zab2ljim.8xp                 TI-83+ Example External Level

\levels\compressed\zab2ljim.83p      TI-83 Compressed Example External Level
\levels\compressed\zab2ljim.8xp      TI-83+ Compressed Example External Level

\source\ab2.z80                      Game Source Code
\source\ab2spr.h                     Sprites
\source\huffextr.h                   Huffman Extractor
\source\ab2edit.z80                  Level Editor Source Code
\source\ab2decmp.z80                 Decompression Utility Source Code
\source\ab2name.z80                  Renaming Utility Source Code


***********
** Setup **
***********
  IMPORTANT: I suggest you use the latest version of Ion to play Alien Breed II v3.3! If you haven't got this, go to http://joewing.calc.org and download it. Previous versions of Ion may cause the calculator to crash when the game loads!
  WARNING: The game has not been tested in accessing External Levels from Flash memory (83+ only) so be warned that doing so may crash the calculator!

  If you have a TI-83, load the file ab2.83g onto your calculator.

  If you have a TI-83+, load the file ab2.8xg to your calculator.

  Run Ion and select "Alien Breed II v3.3 - TCPA". ABII requires 1627 (1630 on 83+) bytes of free memory to run - if you don't have at least this much free memory, Alien Breed II will fail to run and return to Ion.

  Note that you can play external levels without the file "AB2DATA" on your calculator but you cannot play the main game. I've included this option so that you can have more external levels if you wish.


****************
** Background **
****************
  You are a marine that has been sent to investigate what seems to be a derelict space station only to find that it has been infested with an alien breed. Your mission then becomes clear - destroy the space station by whatever means possible to prevent the infestation from spreading. Armed only with your trusty laser gun, you set off into the corridors of the Space Station to do battle with these vile creatures...


*****************
** How to Play **
*****************
  From Ion, run the program "Alien Breed II v3.3 - TCPA". The intro screen will come up, if you like you can press any key to skip to the main menu.

  At the main menu, select to either begin a new game, enter a passcode, play an external level or quit by using the arrow keys and [2nd] to select. Press [ALPHA] toggle external levels when this option is highlighed. Remember that if the file "AB2DATA" isn't on your calculator you can't begin a new game or enter a passcode. Also, obviously if you don't have any external levels on your calculator you can't select this option.

  Your job is to kill the aliens and complete the mission objectives as you proceed further in towards the heart of the Space Station. Nearly every level has a mission you must complete before the Deck Lift to the next level will function. For example, on Level 2 you must destroy the 4 Power Domes. Once you have done so, the destruction sequence will start and you will have a certain amount of time to get to the Deck Lift. Therefore, it is important to read the mission objectives prior to each level so that you know what to do. If you don't read them or you forget them you can press [Graph] in the middle of a mission to see them again. For external levels the level creator will probably write the mission objectives in the text file or something like that.

  During the game you can find and log on to an Intex Console. This will enable you to be able to purchase more powerful weapons, a Radar Scanner, Key Packs, Ammo, an Extra Life or view a map of the current level. If you purchase a Radar Scanner you can view a map of the current level from anywhere by pressing [ZOOM] (except on the last level). On the map, things you can't walk through are shown (except doors) and a flashing dot indicates where you are (sorry, but the dot is sometimes hard to see). Once the destruction sequence has started on a level, all Intex Consoles and your Radar Scanner are useless.

  Note that you can't accidentally purchase a weapon or Radar Scanner that you already have.

  Press [MODE] during gameplay to pause the game. Here you can select Continue or Retreat with the arrow keys and [ENTER]. Whilst in Pause mode, you can also adjust the Contrast by pressing the [+] and [-] buttons.

  Also, if you are playing in class and the teacher walks up, press [MATH] and the calculator will turn off. When you turn it back on, the game will be Paused.


*********************
** External Levels **
*********************
  External Levels can be made on the Calculator using the Level Editor that I've made. Once you have finished making the level, you can compress it by sending the level file to your computer and using the Level Compression Utility. For information on how to use it, read the file Compress.txt included in the Compression Utility directory.

  Remember that compressed levels can't be edited with the Level Editor. The advantage of compression is obvious - uncompressed levels are 1634 (1637 on 83+) bytes whilst once compressed they can get down to around 400-600 bytes.

  I've included an example external level so that you can look at the difference in size between compressed/uncompressed levels and also just to show you what you can do with the Level Editor.


**************
** Controls **
**************
MAIN MENU:
[Up]+[Down]     - Toggle highlighted option
[2nd]           - Select option
[ALPHA]         - Next external level (when highlighted)

IN-GAME:
Keypad          - Move
[2nd]           - Shoot
[ALPHA]         - Hold this down and press the keypad keys and you will only turn in that direction, not move
[DEL]           - Access Intex Network (only when facing a console)
[Y=]            - Toggle weapon
[MODE]          - Pause
[MATH]          - Teacher key, turns calc off (Paused when you turn it back on)
[Graph]         - View mission objectives

PAUSE MENU:
[Up]+[Down]     - Toggle selected option
[ENTER]         - Choose option
[+]             - Increase Contrast
[-]             - Decrease Contrast

ENTER PASSCODE/NEW HIGH SCORE:
[Up]+[Down]     - Toggle letter
[2nd]           - Choose letter

MISSION BRIEFING:
<Any Key>       - Continue

SELECT DIFFICULTY:
[Up]+[Down]     - Toggle selected difficulty
[ENTER]         - Choose current difficulty

GAME OVER:
<Any Key>       - Continue

EXTERNAL LEVEL FINISHED:
<Any Key>       - Continue


*********************************************
** Sprite Descriptions (what you will see) **
*********************************************
  There are many things you will see during your missions through the Space Station - here is what everything looks like:


============================================================
          - Floor, you may walk here
        
        
        
        
        
        
        
============================================================
        - Hatchery floor, slimy yet safe to walk on
      
      
       
     
      
       
      
============================================================
      - Space, outside the space station
    
    
    
    
    
    
    
============================================================
      - Deck Lift, your transport down to the next deck!
      
    
    
    
    
      
    
============================================================
  - Key Pass, used to open closed doors but can only be used once
      
     
 
   
     
      

============================================================
         - Ammo Clip, used to restore your ammo, ammo clips can be used with any gun
      
     
    
    
     
      
       
============================================================
  - First Aid, makes you feel better!
      
    
  
  
    
      

============================================================
      - Extra Life, gives you an extra life
      
    
      
    
    
      
    
============================================================
          - 10 Credits, MONEY!, gives you 10 credits to use on an Intex Console
        
  
  
  
  
        
        
============================================================
          - 100 Credits, gives you 100 credits
        
  
      
      
  
        
        
============================================================
        - Door, can be opened with a key pass
      
      
      
      
      
      
      
============================================================
          - One Way Energy Shield, can only be walked through the specified way,
        otherwise you get fried!
    
        
        
      
  
        
============================================================
        - Open Fire Door, will close automatically when you walk over it. After
          that, it can't be opened again!
      
        
        
      
      
      
============================================================
        - Closed Fire Door, can't be opened
    
    
      
      
    
    
      
============================================================
        - Alien, the standard enemy
      
      
  
  
    
    
      
============================================================
        - Worm, a weaker enemy
      
      
      
      
      
      
      
============================================================
      - Air Duct, there are two types: safe ones will take you to the next
          level, dangerous ones will kill you. There's no way to tell the
          difference
      
      
      
      
    
============================================================
    - Intex Console, use these to log onto the Intex network wherein you
    can purchase needed supplies

    
    


  
============================================================
  - Wall







============================================================
  - Power Dome, you are usually required to shoot these
      
    
    
    
    
      

============================================================
      - Egg, contains a baby alien but these won't hatch for a while yet..
        the egg is harmless
     
 
   
  
      
    
============================================================


*****************
** Source Code **
*****************
  I've included the source code in the zip file so that other programmers can <try> to look at how the game works. Sorry but the code is REALLY messy so good luck in making sense out of it...


*********************
** Future Versions **
*********************
  There will be no future versions (unless any bugs are found). If you want something better than this, try Alien Breed: Tower Assault which, when finished, will be available at http://tcpa.calc.org.


****************
** Known Bugs **
****************
  There are no bugs that I know of - Alien Breed II v3.3 has not crashed at all during testing but if you think there is a problem with the game then please email me so that I can work out the problem.

  Alien Breed II was tested on both the TI-83 and TI-83+ calculators running the latest version Ion. It's quite possible that ABII won't work properly on other Shells that have ION emulation because it's quite likely that the Ion emulation isn't 100% reliable.


****************
** Disclaimer **
****************
  This program does some low level stuff to your calculator and so it's a good idea to backup all data and programs before using it, although I haven't had any trouble with the program.


**************************
** Special Thanks to... **
**************************
- Everyone that creates External Levels!
- Jonathon Chase for reporting the contrast bug in v3.1 and helping a great deal with other bug reports!
- David Hemer for doing a great deal of testing and subjecting his calculator to numerous crashes!
- Jason Kovacs for reporting a bug with the Level Editor.
- Mike Dennis for suggesting having APD in the Level Editor and for the Decompression Utility idea!
- Everyone who convinced me to put the Teacher Key back in by posting messages at Ticalc.org!
- Dan Englender for doing heaps in helping me port this to ION for the TI-83 and TI-83+ and also for doing a heap of testing!
- TCPA for their ideas, encouragement, etc.
- Jimmy Mardell and Florent Dhordain for the Huffman compression stuff that helped reduce this game to a half reasonable size and also for the routine to turn the calculator off and back on.
- Hannes Edfeldt for Devpac83.
- Joe Wingbermuehle for the optimisation tips on his webpage and for ION and for pointing out the shells bug in v1.2.
- Team 17 for the original Alien Breed games for the Amiga.
- Everyone for their feedback and encouragement with previous versions of Alien Breed II!
- Anyone else that I forgot to mention (sorry!).


**********************
** Closing Notes... **
**********************
  You are welcome to add Alien Breed II v3.3 to your webpage but please make sure you don't separate any of the files distributed in the zip file.

  The original Alien Breed game was released by Team 17 back in 1991. It had 6 levels and was a hit! In 1992, they released another version - Alien Breed '92: Special Edition. This version had 12 levels with lots of new ideas, although the game play was relatively similar to the first. A few years later Alien Breed 2 was released. It had more levels, more breeds of alien (including one's that shoot at the player), more guns, better graphics but still had the exact same idea. The latest and probably last 2D version of this game was Alien Breed: Tower Assault. This game incorporated the "choose your own adventure" look by making it possible for the player to choose which paths to take. My calculator version, although called Alien Breed II, is more or less based on Alien Breed '92: Special Edition, mainly because that was the version I had on my Amiga. This version is called Alien Breed II because I had already made a version in TI-BASIC in 1998. I used to love the game and ever since I bought the TI-83 I wanted to make it.. here it is! The later the versions get, the more the calculator version becomes like the computer version.

  If you have any comments, suggestions, bug reports or if you wish to port this game to another calculator please e-mail me or you can try and catch me on ICQ.

  For other great TI-calculator games, go to the TCPA webpage (http://tcpa.calc.org/) and download some great software!

Alien Breed II v3.3
Copyright 1999-2000 Jimsoft Software/TCPA
Written and Programmed by James Vernon <james@calc.org>
http://tcpa.calc.org
ICQ#: 71589304